package com.administrator.platform.util.security;

import java.util.UUID;

/**
 * 密码工具类
 * 
 * @author 孙留平
 * @date 2019年8月26日 13:42:53
 */
public class PasswordUtils {

	/**
	 * 匹配密码
	 * 
	 * @param salt
	 *            盐
	 * @param rawPass
	 *            明文
	 * @param encPass
	 *            密文
	 * @return
	 */
	public static boolean matches(String salt, String rawPass, String encPass) {
		return new PasswordEncoder(salt).matches(encPass, rawPass);
	}

	/**
	 * 匹配密码
	 * 
	 * @param salt
	 *            盐
	 * @param rawPass
	 *            明文
	 * @param encPass
	 *            密文
	 * @return
	 */
	public static boolean matches(String rawPass, String encPass) {
		return new PasswordEncoder().matches(encPass, rawPass);
	}

	/**
	 * 明文密码加密
	 * 
	 * @param rawPass
	 *            明文
	 * @param salt
	 * @return
	 */
	public static String encode(String rawPass, String salt) {
		return new PasswordEncoder(salt).encode(rawPass);
	}

	/**
	 * 获取加密盐
	 * 
	 * @return
	 */
	public static String getSalt() {
		return UUID.randomUUID().toString().replaceAll("-", "").substring(0,
		        20);
	}
}
